load('benchmark.js');
load('benchmark_jsref.js');

var bm = new Benchmark(
  {
    string: function() {
      return this.query.split('&');
    },
    regexp: function() {
      return this.query.split(/[;&]/);
    },
    reCompiled: function() {
      return this.query.split(this.qRE);
    }
  },
  {
    iterations: -0.2,
    // iterations: 1000,
    // nATime:     0,
    // nATime:     { string: 1000, regexp: 0, reCompiled: 10 },
    responders: 'JSRef',
    qRE: /[;&]/,
    query: 'foo=1&bar=2&baz=3'
  }
);

// re-run :)
var rerun = 1;
if (rerun) {
  for (var i=1; i<3; i++) {
    bm.iterations -= 0.05;
    bm.run();
  }
  for (var i=1; i<3; i++) {
    bm.iterations -= 0.1;
    bm.run('string');
  }
}
